package org.me.eftelingproject;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import java.util.ArrayList;
import org.me.model.Attractie;
import org.me.model.Lijn;
import org.me.model.Punt;

public class MainActivity extends MapActivity {

    public static ArrayList<Attractie> Attractielijst = new ArrayList<Attractie>();
    public static ArrayList<Lijn> Lijnenlijst = new ArrayList<Lijn>();
    public static ArrayList<Punt> Puntenlijst = new ArrayList<Punt>();
    MapController mapController;
    GeoPoint afspreekpunt;

    //zet hier je apikey want googlemaps werkt alleen bij je eigen key
    //apikey Jurian = 06uhZzPK87rj5psfDWdDtctHM402o2tlFUmmUgw
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setSatellite(true);
        try {
            mapView.setBuiltInZoomControls(true);

        } catch (Exception e) {
            e.printStackTrace();
        }


        try {
            mapController = mapView.getController();
        } catch (Exception ex) {
            drukaf("Fout: " + ex);
        }
        //Kaart centreren boven de efteling
        afspreekpunt = new GeoPoint((int) (51.651276 * 1E6), (int) (5.048887 * 1E6));

        mapController.setCenter(afspreekpunt);

        mapController.setZoom(16);
    }

    public void maakattracties() {
        Attractielijst.add(new Attractie("Stoomcarroussel", 51.651276, 5.048887));

        //dit hierboven is het afspreekpunt, hier moet het steeds naartoe!
        Attractielijst.add(new Attractie("Hoofdingang", 51.649416, 5.044011));
        Attractielijst.add(new Attractie("Waterorgel", 51.651806, 5.048828));
        Attractielijst.add(new Attractie("Pagode", 51.650429, 5.050254));
        Attractielijst.add(new Attractie("Python", 51.64701, 5.053617));
        Attractielijst.add(new Attractie("Avonturen Doolhof", 51.651569, 5.051798));
        Attractielijst.add(new Attractie("Bobbaan", 51.647965, 5.047266));
        Attractielijst.add(new Attractie("Carnaval festival", 51.65215, 5.05175));
        Attractielijst.add(new Attractie("D´Oude Tuffer", 51.648924, 5.05379));

        //tot hier patrick
        Attractielijst.add(new Attractie("De Vliegende Hollander", 51.647832, 5.05203));
        Attractielijst.add(new Attractie("Diorama", 51.651889, 5.048893));
        Attractielijst.add(new Attractie("Droomvlucht", 51.652465, 5.046623));
        Attractielijst.add(new Attractie("Efteling Museum", 51.648718, 5.043581));
        Attractielijst.add(new Attractie("Game Gallery", 51.648285, 5.052931));
        Attractielijst.add(new Attractie("Fata Morgana", 51.647353, 5.046365));
        Attractielijst.add(new Attractie("Gondoletta", 51.650796, 5.051551));
        Attractielijst.add(new Attractie("Halve Maen", 51.648737, 5.053232));
        Attractielijst.add(new Attractie("Kleuterhof", 51.65171, 5.05301));

        // tot hier Mike
        Attractielijst.add(new Attractie("Monsieur Cannibale", 51.65176, 5.052229));
        Attractielijst.add(new Attractie("Piraña", 51.647387, 5.048976));
        Attractielijst.add(new Attractie("Polka Marina", 51.648234, 5.053544));
        Attractielijst.add(new Attractie("Roeivijver", 51.647938, 5.045636));
        Attractielijst.add(new Attractie("Spookslot", 51.64900, 5.04864));
        Attractielijst.add(new Attractie("Sprookjesbos", 51.649223, 5.04576));
        Attractielijst.add(new Attractie("Villa Volta", 51.653018, 5.04724));
        Attractielijst.add(new Attractie("Vogel Rok", 51.652066, 5.052454));
        Attractielijst.add(new Attractie("Volk van Laaf", 51.653323, 5.049311));

        // tot hier ricardo
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044011));
        Puntenlijst.add(new Punt("hoofdingang", 51.64959, 5.044418));
        Puntenlijst.add(new Punt("hoofdingang", 51.649297, 5.045094));
        Puntenlijst.add(new Punt("hoofdingang", 51.649151, 5.045394));
        Puntenlijst.add(new Punt("hoofdingang", 51.649224, 5.047014));
        Puntenlijst.add(new Punt("hoofdingang", 51.649397, 5.048066));
        Puntenlijst.add(new Punt("hoofdingang", 51.649943, 5.048602));
        Puntenlijst.add(new Punt("hoofdingang", 51.651223, 5.04815));
        Puntenlijst.add(new Punt("hoofdingang", 51.65137, 5.048507));
        Puntenlijst.add(new Punt("hoofdingang", 51.651276, 5.048887));

//hierboven hoofdingang is 0 tm 9
        Puntenlijst.add(new Punt("waterorgel", 51.651806, 5.048828));
        Puntenlijst.add(new Punt("waterorgel", 51.651334, 5.049021));
        Puntenlijst.add(new Punt("waterorgel", 51.651276, 5.048887));

//hierboven waterorgel is 10 tm 12
        Puntenlijst.add(new Punt("python", 51.64701, 5.053617));
        Puntenlijst.add(new Punt("hoofdingang", 51.647362, 5.053791));
        Puntenlijst.add(new Punt("hoofdingang", 51.648194, 5.053764));
        Puntenlijst.add(new Punt("hoofdingang", 51.648867, 5.053737));
        Puntenlijst.add(new Punt("hoofdingang", 51.649086, 5.053281));
        Puntenlijst.add(new Punt("hoofdingang", 51.649363, 5.052728));
        Puntenlijst.add(new Punt("hoofdingang", 51.649572, 5.053308));
        Puntenlijst.add(new Punt("hoofdingang", 51.649988, 5.053597));
        Puntenlijst.add(new Punt("hoofdingang", 51.650318, 5.053705));
        Puntenlijst.add(new Punt("hoofdingang", 51.650874, 5.053683));
        Puntenlijst.add(new Punt("hoofdingang", 51.650874, 5.053683));
        Puntenlijst.add(new Punt("hoofdingang", 51.651599, 5.05268));
        Puntenlijst.add(new Punt("hoofdingang", 51.652025, 5.051736));
        Puntenlijst.add(new Punt("hoofdingang", 51.652009, 5.05033));
        Puntenlijst.add(new Punt("hoofdingang", 51.651812, 5.049215));
        Puntenlijst.add(new Punt("python", 51.651276, 5.048887));

//hierboven python is 13 tm 28

        Puntenlijst.add(new Punt("avonturendoolhof", 51.651569, 5.051798));
        Puntenlijst.add(new Punt("hoofdingang", 51.652013, 5.051767));
        Puntenlijst.add(new Punt("hoofdingang", 51.652026, 5.051188));
        Puntenlijst.add(new Punt("hoofdingang", 51.651907, 5.049868));
        Puntenlijst.add(new Punt("hoofdingang", 51.65172, 5.049224));
        Puntenlijst.add(new Punt("avonturendoolhof", 51.651276, 5.048887));

//hierboven avonturendoolhof 29 tm 34

        Puntenlijst.add(new Punt("bobbaan", 51.647965, 5.047266));
        Puntenlijst.add(new Punt("hoofdingang", 51.647815, 5.046881));
        Puntenlijst.add(new Punt("hoofdingang", 51.647762, 5.046452));
        Puntenlijst.add(new Punt("hoofdingang", 51.648324, 5.046125));
        Puntenlijst.add(new Punt("hoofdingang", 51.649164, 5.04562));
        Puntenlijst.add(new Punt("hoofdingang", 51.649943, 5.048602));
        Puntenlijst.add(new Punt("hoofdingang", 51.651223, 5.04815));
        Puntenlijst.add(new Punt("hoofdingang", 51.65137, 5.048507));
        Puntenlijst.add(new Punt("bobbaan", 51.651276, 5.048887));
//hierboven bobbaan 35 tm 43

        Puntenlijst.add(new Punt("carnaval festival", 51.65215, 5.05175));
        Puntenlijst.add(new Punt("hoofdingang", 51.65215, 5.05175));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("carnaval festival", 51.649416, 5.044091));


        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));


        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));

        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));
        Puntenlijst.add(new Punt("hoofdingang", 51.649416, 5.044091));

        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(4), Puntenlijst.get(5)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(5), Puntenlijst.get(6)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(6), Puntenlijst.get(7)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(7), Puntenlijst.get(8)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(8), Puntenlijst.get(9)));

//hoofd boven

        Lijnenlijst.add(new Lijn(Puntenlijst.get(10), Puntenlijst.get(11)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(11), Puntenlijst.get(12)));


//hierboven waterorgel


        Lijnenlijst.add(new Lijn(Puntenlijst.get(13), Puntenlijst.get(14)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(14), Puntenlijst.get(15)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(15), Puntenlijst.get(16)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(16), Puntenlijst.get(17)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(17), Puntenlijst.get(18)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(18), Puntenlijst.get(19)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(19), Puntenlijst.get(20)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(20), Puntenlijst.get(21)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(21), Puntenlijst.get(22)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(22), Puntenlijst.get(23)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(23), Puntenlijst.get(24)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(24), Puntenlijst.get(25)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(25), Puntenlijst.get(26)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(26), Puntenlijst.get(27)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(27), Puntenlijst.get(28)));

//hierboven python

        Lijnenlijst.add(new Lijn(Puntenlijst.get(29), Puntenlijst.get(30)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(30), Puntenlijst.get(31)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(31), Puntenlijst.get(32)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(32), Puntenlijst.get(33)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(33), Puntenlijst.get(34)));

//hierboven avonturendoolhof


        Lijnenlijst.add(new Lijn(Puntenlijst.get(35), Puntenlijst.get(36)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(36), Puntenlijst.get(37)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(37), Puntenlijst.get(38)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(38), Puntenlijst.get(39)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(39), Puntenlijst.get(40)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(40), Puntenlijst.get(41)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(41), Puntenlijst.get(42)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(42), Puntenlijst.get(43)));

//hierboven bobbaan


        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));


        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));

        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));

        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));

        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));

        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(0), Puntenlijst.get(1)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(1), Puntenlijst.get(2)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(2), Puntenlijst.get(3)));
        Lijnenlijst.add(new Lijn(Puntenlijst.get(3), Puntenlijst.get(4)));




    }

    @Override
    protected boolean isRouteDisplayed() {
        //throw new UnsupportedOperationException("Not supported yet.");
        return false;
    }

    private void drukaf(String string) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        populateMenu(menu);
        return super.onCreateOptionsMenu(menu);
    }

    public void populateMenu(Menu menu) {
        menu.add(0, 0, 0, "Instellingen");
    }

    /** when menu button option selected */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return applyMenuChoice(item) || super.onOptionsItemSelected(item);
    }

    /** respond to menu item selection */
    public boolean applyMenuChoice(MenuItem item) {
        switch (item.getItemId()) {
            case 0:
                setContentView(R.layout.opties_hoofdscherm);
                return true;
        }
        return false;
    }
}
